iT邦幫忙

2023 iThome 鐵人賽

DAY 26
0

Info

Walkthrough

  • 存取網頁後使用帳號和上關獲取的密碼登入,有一堆字和 language 下拉式選單,選擇 de 會變德文,URL 增加 ?lang=de
    • Imgur
    • Imgur
  • 點擊 View sourcecode 超連結查看後端 PHP 程式碼
    • Imgur
  • 分析程式碼邏輯後畫成流程圖如下,透過 ../ 觸發 safeinclude() 呼叫 logRequest(),串接 HTTP_USER_AGENT 的內容寫入 log 檔案
    • Imgur
  • 可參考 Day 0x02 Natas Level 0 → Level 1 的方法,透過 Burp Suite 的 Proxy 開啟 Intercept 攔截
    1. URL 的 ..././ 會導致呼叫 logRequest() 並去除 ../
    2. logRequest() 寫入 HTTP_USER_AGENT 中的 PHP 腳本
    3. 藉由 1. 過濾後的正確路徑,利用 LFI 引入 log 檔案
    4. 查看回顯的網頁獲得下題的登入密碼
    • Imgur
    • Imgur

Note

  • 因為畢竟是 Wargame 練習平台?巧妙地構造出一條神奇利用道路,直接引入 natas_webpassexit(),但網站嘗試以黑名單 ../ 的方式阻止 LFI 卻唯獨沒有提前終止或 return,而且剛好又需要 ../ 才能呼叫 logRequest() 寫入 PHP 腳本
  • 不過只要符合上述的指定道路,Payload 也可以有限度地產生不同變化,例如 ....//..././logs/natas25_bv8cu7lk6pped9chjf8guj73qh.log

Summary

Reference


上一篇
Day 0x19 Natas Level 23 → Level 24
下一篇
Day 0x1B Natas Level 25 → Level 26
系列文
Natas 網頁安全:從入門到放棄35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言